创造「星星海」:腾讯自研服务器的关键一战
2019 年 1 月 24 日。
繁忙运转的工厂,一块不起眼的显示器前,聚集了一帮服务器领域的顶级专家。
腾讯第一台自研服务器首次 Power on(开机上电)。这是腾讯自研服务器品牌星星海的第一款产品,对腾讯云服务器团队来说,这是一场不容有失的战役。
熟悉服务器制造的人知道,Power on 是一个相当复杂的工程。设备在工厂打好样后组装起来,接上电启动,进入操作系统并识别所有设备,才算成功。由于过程中难免出现一些意料之外的问题,完成这一系列动作,业内常规需要花费数天时间,在硬件设计不完善的情况下,甚至要耗费两周。
腾讯的目标却是,两小时。
一根线都不能错,一个元器件也不改,相当于编写的代码一次性运行成功。即便团队中都是工作经验超过10年的专家,在大家看来,也几乎是 “mission impossible” 。“即便在苹果,十个产品中也只有一个能做到”。
这样严苛的要求下,没有退路,成为最后一道防线。
腾讯历史上虽然很少做硬件,但有一个共识很明确:对于硬件来说,越早发现问题,补救的成本就越低。尤其是服务器未来需要大规模在业务中去部署,如果给自己一种预设,“有问题可以去改”,“大不了换一根线”,这想法本身比服务器宕机还要危险。
春节前一周,主板的制造终于完成,距离工厂停工放假只剩下5天。团队打定了心思,“如果 Power on 失败,就留在公司过年”。
上午十点,显示器前人头攒动,主板接上了电源,系统启动,周边设备一件件被识别……
两小时过去。有人还记得那一刻,当 “Tencent” 的标志在屏幕上亮起,紧张的气氛终于被打破,在场的人暗自松了一口气。而随着大量的启动信息快速划过屏幕并最终进入操作系统登录窗口,此前悄无声息的人群中逐渐响起兴奋的交谈和掌声,“自研服务器,boot 起来了!”。
奇迹是怎么发生的?
星星海诞生
时间倒回到 2017 年 10 月,腾讯大厦的一间会议室里,关于一件事情的讨论始终争持不下——腾讯要不要做自研服务器?
在腾讯历史上,做硬件从来不是一个必选项。原因很简单,在这家诞生了微信、QQ 等国民级互联网应用的公司里,工程师们更习惯通过架构和代码的优化,来解决底层服务器的场景适配、性能提升等问题。
腾讯产品的软件架构设计无可挑剔,凭借对海量之道的深刻理解,工程师们大体可以做到,只要硬件本身性能不太差,基本就不会拖业务发展的后腿。
“为什么要自研?为什么不直接去外面买?”在云业务起来之前,腾讯本身对于硬件的需求不是非常大,服务器这个偏底层的业务模块也从来不在聚光灯下。
但随着云的规模越来越大,公司支撑海量云业务背后,“存储成本太高、网络成本太高、计算成本同样太高……”同时,行业技术能力的PK也日趋白热化,云原生的机会越来越多,如果不做硬件,软硬件无法很好地和业务做结合,云的价值就很难发挥出来。
更多的是一种反思:“我们有着卓越的科技实力,丰富的实战经验,覆盖全球的基础设施,我们可以适配腾讯的云业务,满足不同行业客户对服务器的多样化需求,让用户享受到更低成本和更高性能的云服务。我们有什么理由不开启自研?”
一次次讨论终于在 2017 年底达成共识,腾讯做出了一个重要的决定——布局自研服务器。确定了目标后,团队很快在 2018 年初组建完毕。
大家商量着给项目起个响亮的名字。很快,一个叫星星海(Star Lake)的提议,得到了大家的认同。星星海取自于青海果洛的一个美丽湖泊,更重要的是,用水的名字来命名,考虑到了水 “柔和,灵动,智慧,且利万物”。
从一开始,腾讯就希望把自研服务器做成一个生态,而不是简单的硬件。
落地!落地!落地!
在腾讯,自研服务器这件事承载了很高的期待,但真正做的时候,大家心里都没底。
一来公司从前缺少这方面经验,要投入多少人,做成什么样子,怎么解决问题?
无数的问号袭来。消息放出后,多家大型硬件厂商对腾讯的技术能力持怀疑态度,有芯片供应商甚至直言,“建议在市场上购买成熟方案,在此基础上修改后使用比较稳妥”。
“只要方向是对的,要做的只有一件事,就是等风来。”
这些轻描谈写的成果背后,问题比想象中要多。
以散热器为例 ,散热器该如何选择?看起来似乎有些微不足道,团队无数次研讨,众人身前的白板被代表功效和性能的数字填得满满当当,那个最优型号的答案也便呼之欲出。也就是这个“不太起眼”的选择,在不久的将来,会把同等情况下的风扇功耗大大减少,节省下非常可观的用电成本。
在细节上的执着、专注,给星星海实验室带来了不少“惊喜”
星星海首秀
2019 年 10 月,AMD 在北京举办了一场发布会,腾讯云作为合作伙伴站上展台。星星海服务器的首款产品就这样第一次从幕后走到台前,在行业面前展示自己的真实面貌。
如同一场技术界的盛会和“秀场”一样,工程师们不会放过任何一次“秀肌肉”的机会。各式各样的服务器轮番上阵,人头攒动中,星星海的工程师们松了一口气——无论外观还是性能,这款服务器都是最吸引眼球的那一个。
「春保」首战
每年的“春保”在腾讯内部意义重大,是一个不容有失的业务节点。服务器交付后,万一中间出现软件问题没办法解决,还得靠硬件去调试。
但是春节作为腾讯业务资源需求最大的时间段,又是推广自研服务器的一个最佳契机。站在公司的角度,一方面表明了对于自研的支持,另外,如果不赶春节这一波集中上量,春节后需求释放完,可能就没办法推广开了。
对于星星海团队来说,2019 年年底是最艰难的时刻,交付不了怎么办?服务器宕机怎么办?
那些「无人知晓」的高光时刻
春节期间,腾讯例行成立专门的团队,调度资源,完成大规模的计算资源保障任务。这一批自研服务器也正式走上“前线”。
随着节日临近,气氛开始变得紧张。团队每日检查服务器,盯着群里的各种消息,任何一个渠道信息的跳动都牵动着所有人的心绪。所幸,没有任何问题发生,春节联保就这样有惊无险的度过了。
● 500%